home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / virus / mvchk.zip / VIRUS.DAT < prev   
Text File  |  1992-02-17  |  9KB  |  152 lines

  1. Information sheet on the Michelangelo Virus
  2. Compiled by J.M. Allen Creations / Michael A. Hotz
  3. February 17, 1992
  4. -----------------------------------------------------------------------------
  5. This information was compiled by studying a disassembly of the virus code
  6. taken from an infected system.
  7. -----------------------------------------------------------------------------
  8. OVERVIEW:
  9.  
  10. The Michelangelo virus is of the boot sector / partition table type.
  11. It finds its way to the unsuspecting users system riding in the boot sector
  12. of a floppy disk which all floppy disks have, even those that don't actually
  13. boot DOS.  A boot sector is simply a small program that is automatically
  14. run from a disk whenever a system is booted from that disk.  It's purpose
  15. is to read the operating system from the disk, and begin the process to
  16. bring the system up and running.  The detailed process of the inner workings
  17. of this virus follow.
  18.  
  19. INITIAL MEANS OF INFECTION:
  20.  
  21. When the user puts an infected disk in the system, the virus is
  22. automatically run just like a normal boot sector would run at start up. 
  23. If first checks for its presence in the partition table of the first
  24. hard drive in the system, the one normally booted from.  If it doesn't
  25. find its signature, it copies the existing partition table to the seventh
  26. sector on the hard drive, normally reserved for multiple partition
  27. tables.  It then installs it's own code where the master partition table
  28. resides.  Once it has done all of this, it then continues with the normal
  29. boot process by loading the true boot sector from a saved location on the
  30. floppy disk, head 1 sector 3 for 360k disks, head 1 sector 14 for 1.2m disks.
  31.  
  32. MAKING ITSELF INVISIBLE:
  33.  
  34. After installing itself, the virus reads the original boot sector from the
  35. saved location on the disk, and passes execution to it just as if the virus
  36. were not there.  If the disk in the A: drive is a system disk, it loads the
  37. OS, and boot up proceeds in a totally normal manner.  If the disk isn't
  38. bootable, the user will still see the familiar "Insert system disk and
  39. press any key message".  At this point, the hard disk has been infected, and
  40. the virus is resident in memory.
  41.  
  42. WHEN THE VIRUS BECOMES ACTIVE:
  43.  
  44. Whenever the user boots off of an infected floppy, or an infected hard
  45. disk, the virus moves the top of memory from 640k to 638k by subtracting
  46. two from a word in the BIOS data table low in memory.  This word is used
  47. by the operating system to determine how many kilobytes of conventional
  48. memory are available.  The virus then copies itself into this reserved
  49. chunk of memory. The virus also saves the current address for the BIOS 
  50. disk ISR (interrupt service routine) and sets the address of this routine
  51. to point to its resident floppy infecting code.  Next, DOS gets pulled in
  52. just like normal, except DOS reads this word in low memory to determine how
  53. much memory to make available to the user.  DOS sees 638k and sets it's top
  54. of memory just below the virus in high memory, very effectively protecting
  55. the virus from ever being overwritten in memory.  This happens every time
  56. the system is booted from an infected floppy or hard disk.
  57. The average user will never have any clue that any of this has happened.
  58.  
  59. HOW INFECTION SPREADS:
  60.  
  61. Now, this virus sits there, and every time an int 13h is generated by
  62. software requesting disk functions, the virus intercepts the call.  It
  63. first checks to see if the call is being directed at the first floppy
  64. drive in the system.  If it is not, then it passes the disk request on to
  65. the original int 13h handler, normally in the system BIOS.  If however, the
  66. request is to the first floppy, it then reads the boot sector from the
  67. floppy into an area of its reserved memory, just above the resident virus,
  68. and checks for its signature in the boot sector.  If it finds it, the virus
  69. knows that the floppy in the drive has already been infected, and passes the
  70. disk request on to the original int 13h handler.  If it doesn't find
  71. its signature, the virus then writes the original boot sector to the an 
  72. unused sector for later use, and copies its own infected boot program to the
  73. boot sector of the floppy.  The virus then returns control to the original
  74. int 13h handler.  At this point, the floppy is infected, all before the user
  75. even sees the directory print on the screen, or the program run, or whatever
  76. action was requested on the drive.
  77.  
  78. WHY THE VIRUS IS HARD TO DETECT:
  79.  
  80. Since there is normally a slight delay whenever a user accesses a floppy
  81. drive, they user never perceives the extra milliseconds taken by the virus
  82. to test and/or infect any disk in the first floppy every time it is accessed.
  83. This means that EVER disk accessed in any way in the first floppy drive on an
  84. infected system will also be infected.
  85.  
  86. Another reason the virus is so stealth like is, even though there is a lot
  87. of virus protection software available, the TSR programs that sit in memory
  88. and watch calls to critical interrupt service routines (ISR's) are useless
  89. against a virus of this type because this virus is already resident in memory
  90. before the TSR watchers ever get loaded.  When the virus reads and writes to
  91. the floppies, it doesn't call int 13h which the TSR watchers would detect,
  92. it instead uses a far call to the address of the original int 13h handler
  93. that it saved when it installed, thus the TSR watcher never sees the
  94. call, and never warns you that the virus is there.
  95.  
  96. WHEN WILL THE VIRUS STRIKE:
  97.  
  98. The actual damage of the virus will occur when the system is booted on
  99. March 6 based on the internal clock.  In either case, booting from an
  100. infected floppy or hard disk, the destruction will occur as soon as the
  101. boot sector from the infected disk begins executing, at a point long before
  102. the user would ever gain control off the system through the command
  103. processor, generally enough time to virtually erase the entire disk, and 
  104. certainly enough time to at least erase the critical file allocation tables,
  105. long before the user ever suspects anything is wrong.
  106.  
  107. WHAT WILL THE VIRUS DO:
  108.  
  109. As long as the date isn't March 6, the virus sits dormant, simply infecting
  110. every floppy accessed in the first floppy drive.  When the D-Day
  111. rolls around, instead of loading itself and booting up normally, the virus
  112. keeps control of the system, and simply starts at track 0 sector 1 and dumps
  113. whatever happens to be at address 5000:5000 in memory to each sector on the
  114. hard drive.  It sits in a simple loop writing and incrementing track/sector
  115. values until the users finally decides something is wrong.  Of course by that
  116. time, since it starts at the beginning of the drive, all of the File
  117. Allocation Tables, and probably a good chunk for the first part of the drive
  118. have been erased.
  119.  
  120. FINAL NOTES OF INTEREST:
  121.  
  122. The resident code doesn't do the actual destruction.  It is only responsible
  123. for making sure the virus infects as many disks as possible, increasing
  124. the likelihood that it will get transfered to other systems, and others,etc...
  125.  
  126. It should also be noted that when a system is infected, disks put in the
  127. first floppy will only be infected if they are accessed.  Putting in a
  128. disk, closing the door, opening the door and removing the disk will not
  129. allow the virus to be written, but even a simple directory or any other
  130. command where the disk is actually read or written will cause infection.
  131.  
  132. If a hard drive is clean, you can safely put an infected disk in the
  133. first floppy AFTER the system is fully booted from the clean hard drive 
  134. without worry, because the boot sector program of the infected floppy must
  135. actually be executed before it can install itself on the hard disk, a 
  136. situation which ONLY occurs when the disk is booted from.
  137.  
  138. HOW TO FIND THE VIRUS:
  139.  
  140. The easiest way to check for this particular virus is to use a program
  141. that will report how much memory is available to DOS.  The newer (4.0 and up)
  142. versions of DOS come with a program called MEM.EXE.  If first line of the MEM
  143. command output says "655360 bytes total conventional memory", this virus is
  144. not resident. If it is anything less, the machine MAY be infected.
  145. There are certain cases when this could happen without a virus, such as on
  146. machines which reserve part of the high memory for information, such as the
  147. IBM PS/2 which have an EBDA, or systems with user definable BIOS hard disk
  148. types.  In any case where this number is less than 640k (655360), and
  149. especially if this number is exactly 638k (655312), I suggest using a
  150. commercial virus scan utility, or contact someone who can determine if the
  151. virus exists, and remove it if necessary.
  152.